<style lang='less'>
    @import './login.less';

    .ivu-modal-confirm{
        .ivu-modal-confirm-body{
            .ivu-modal-confirm-body-icon{
                margin-left: 10px;
            }
        }
        .ivu-modal-confirm-footer{
            .ivu-btn-large{
                margin-right: 10px;
                margin-bottom: 10px;
            }
        }
    }
</style>

<template>
    <div class="login-container" @keydown.enter='handleSubmit'>
        <div class='login-con'>
            <Card :bordered='false'>
                <!--登录-->
                <div v-show="!showPassword" class='form-con'>
                    <div class="title-container">
                        <div class="title">
                            中联公众号后台系统
                        </div>
                    </div>
                    <Form ref='loginForm' :model='form' :rules='rules'>
                        <FormItem prop='userName'>
                            <i-input v-model='form.userName' :maxlength="16" placeholder='请输入用户名'></i-input>
                            <i class=" icon-position iconfont finleanCloud-user"></i>
                        </FormItem>
                        <FormItem prop='password'>
                            <i-input type='password' v-model='form.password' placeholder='请输入密码'></i-input>
                            <i class=" icon-position iconfont finleanCloud-password"></i>

                        </FormItem>
                        <FormItem class="btnBox">
                            <Button @click="handleSubmit('login')"  type='primary' long>登 录</Button>
                        </FormItem>
                    </Form>
                </div>
            </Card>
        </div>
    </div>
</template>

<script>
    import Cookies from 'js-cookie';
    import md5 from 'blueimp-md5';
    import systemApi from '../api/api';
    import codeManage from '../api/statusCodeManage';
    import meunUtils from '../tool/MenuUtils';
    import validator from '../tool/validator';

    export default {
        data() {
            const validePhone = (rule, value, callback) => {
                var re = /^[0-9a-zA-Z]{4,20}$/;
                if (!re.test(value)) {
                    callback(new Error('请输入正确格式的账户格式'));
                } else {
                    callback();
                }
            };
            return {
                showPassword: false,
                sendSMSButIsClick:false,
                passwordText: "忘记密码？",
                sendVerCodeBtnText:"发送验证码",
                form: {
                    userName: '',
                    password: ''
                },
                changePasswordform: {
                    iPhoneNum: '',
                    verCode: '',
                    changePassword: ''
                },
                rules: {
                    userName: [
                        {required: true, message: '账号不能为空', trigger: 'blur'},
                        {validator: validePhone, trigger: 'blur'}
                    ],
                    password: [
                        {required: true, message: '密码不能为空', trigger: 'blur'}
                    ]

                }
            }
        },
        methods: {
            handleSubmit(type) {
                let _this = this;
                this.$refs.loginForm.validate(valid => {
                    let _par = {
                        userName: _this.form.userName,
                        passWord: md5(_this.form.password)
                    };

                    systemApi.allAPI.userLogin(_par).then(
                        res => {
                            if(res.code == 0){
                                Cookies.set('flc_user', res.data.userName);
                                Cookies.set('flc_sid', res.data.userName);
                                Cookies.set('flc_name', res.data.userName);
                                // 后台返回的报文 字段
                                let allMenuList = null;
                                if(res.data.userName == "cdzlxz"){
                                    // 员工、 通知、 公司文件
                                    allMenuList = [
                                        {
                                            powerId: 123456, // 后台生成的id,不填
                                            powerName: '员工管理', // 菜单左侧显示的名称
                                            routePath: '/personnel', // router path
                                            routeName: 'personnel', // router name
                                            routeComp: null, // 模板路径，在views 下面的路径,如果一级菜单就为null
                                            iconPath: 'ios-people',
                                            childPowerInfos: [
                                                {
                                                    childPowerInfos: [], // 下级菜单
                                                    powerId: 1234561, // 后台生成的id,不填
                                                    powerName: '员工列表', // 菜单左侧显示的名称
                                                    routePath: '/personnel-index', // router path
                                                    routeName: 'personnel-index', // router name
                                                    routeComp: '/personnel/personnel-list', // 模板路径，在views 下面的路径,如果一级菜单就为null
                                                    iconPath: 'ivu-icon-key'
                                                }
                                            ]
                                        },
                                        {
                                            powerId: 1234567, // 后台生成的id,不填
                                            powerName: '通知管理', // 菜单左侧显示的名称
                                            routePath: '/notice', // router path
                                            routeName: 'notice', // router name
                                            routeComp: null, // 模板路径，在views 下面的路径,如果一级菜单就为null
                                            iconPath: 'ios-chatboxes',  //
                                            childPowerInfos: [
                                                {
                                                    childPowerInfos: [], // 下级菜单
                                                    powerId: 12345671, // 后台生成的id,不填
                                                    powerName: '通知列表', // 菜单左侧显示的名称
                                                    routePath: '/notice-index', // router path
                                                    routeName: 'notice-index', // router name
                                                    routeComp: '/notice/notice-list', // 模板路径，在views 下面的路径,如果一级菜单就为null
                                                    iconPath: 'ivu-icon-key'
                                                }
                                            ]
                                        },
                                        {
                                            powerId: 1274325, // 后台生成的id,不填
                                            powerName: '公司制度文件', // 菜单左侧显示的名称
                                            routePath: '/companyFile', // router path
                                            routeName: 'companyFile', // router name
                                            routeComp: null, // 模板路径，在views 下面的路径,如果一级菜单就为null
                                            iconPath: 'social-rss',  //
                                            childPowerInfos: [
                                                {
                                                    childPowerInfos: [], // 下级菜单 <Icon type="social-rss"></Icon>
                                                    powerId: 1274552, // 后台生成的id,不填
                                                    powerName: '公司制度文件', // 菜单左侧显示的名称
                                                    routePath: '/companyFile-index', // router path
                                                    routeName: 'companyFile-index', // router name
                                                    routeComp: '/companyFile/companyFile-list', // 模板路径，在views 下面的路径,如果一级菜单就为null
                                                    iconPath: 'social-rss'
                                                }
                                            ]
                                        }
                                    ];
                                }else if(res.data.userName == "admin"){
                                    allMenuList = [
                                        {
                                            powerId: 123456, // 后台生成的id,不填
                                            powerName: '员工管理', // 菜单左侧显示的名称
                                            routePath: '/personnel', // router path
                                            routeName: 'personnel', // router name
                                            routeComp: null, // 模板路径，在views 下面的路径,如果一级菜单就为null
                                            iconPath: 'ios-people',
                                            childPowerInfos: [
                                                {
                                                    childPowerInfos: [], // 下级菜单
                                                    powerId: 1234561, // 后台生成的id,不填
                                                    powerName: '员工列表', // 菜单左侧显示的名称
                                                    routePath: '/personnel-index', // router path
                                                    routeName: 'personnel-index', // router name
                                                    routeComp: '/personnel/personnel-list', // 模板路径，在views 下面的路径,如果一级菜单就为null
                                                    iconPath: 'ivu-icon-key'
                                                }
                                            ]
                                        },
                                        {
                                            powerId: 1234567, // 后台生成的id,不填
                                            powerName: '通知管理', // 菜单左侧显示的名称
                                            routePath: '/notice', // router path
                                            routeName: 'notice', // router name
                                            routeComp: null, // 模板路径，在views 下面的路径,如果一级菜单就为null
                                            iconPath: 'ios-chatboxes',  //
                                            childPowerInfos: [
                                                {
                                                    childPowerInfos: [], // 下级菜单
                                                    powerId: 12345671, // 后台生成的id,不填
                                                    powerName: '通知列表', // 菜单左侧显示的名称
                                                    routePath: '/notice-index', // router path
                                                    routeName: 'notice-index', // router name
                                                    routeComp: '/notice/notice-list', // 模板路径，在views 下面的路径,如果一级菜单就为null
                                                    iconPath: 'ivu-icon-key'
                                                }
                                            ]
                                        },
                                        {
                                            powerId: 123455, // 后台生成的id,不填
                                            powerName: '分享管理', // 菜单左侧显示的名称
                                            routePath: '/share', // router path
                                            routeName: 'share', // router name
                                            routeComp: null, // 模板路径，在views 下面的路径,如果一级菜单就为null
                                            iconPath: 'android-share-alt',  //
                                            childPowerInfos: [
                                                {
                                                    childPowerInfos: [], // 下级菜单
                                                    powerId: 1234551, // 后台生成的id,不填
                                                    powerName: '分享管理', // 菜单左侧显示的名称
                                                    routePath: '/share-index', // router path
                                                    routeName: 'share-index', // router name
                                                    routeComp: '/shareManage/share-list', // 模板路径，在views 下面的路径,如果一级菜单就为null
                                                    iconPath: 'android-share-alt'
                                                }
                                            ]
                                        },
                                        {
                                            powerId: 1234325, // 后台生成的id,不填
                                            powerName: '视频管理', // 菜单左侧显示的名称
                                            routePath: '/video', // router path
                                            routeName: 'video', // router name
                                            routeComp: null, // 模板路径，在views 下面的路径,如果一级菜单就为null
                                            iconPath: 'ios-videocam',  //
                                            childPowerInfos: [
                                                {
                                                    childPowerInfos: [], // 下级菜单 <Icon type="ios-videocam"></Icon>
                                                    powerId: 1234552, // 后台生成的id,不填
                                                    powerName: '分享管理', // 菜单左侧显示的名称
                                                    routePath: '/video-index', // router path
                                                    routeName: 'video-index', // router name
                                                    routeComp: '/video/video-list', // 模板路径，在views 下面的路径,如果一级菜单就为null
                                                    iconPath: 'ios-videocam'
                                                }
                                            ]
                                        },
                                        {
                                            powerId: 1264325, // 后台生成的id,不填
                                            powerName: '通报管理', // 菜单左侧显示的名称
                                            routePath: '/brief', // router path
                                            routeName: 'brief', // router name
                                            routeComp: null, // 模板路径，在views 下面的路径,如果一级菜单就为null
                                            iconPath: 'social-rss',  //
                                            childPowerInfos: [
                                                {
                                                    childPowerInfos: [], // 下级菜单 <Icon type="social-rss"></Icon>
                                                    powerId: 1264552, // 后台生成的id,不填
                                                    powerName: '通报管理', // 菜单左侧显示的名称
                                                    routePath: '/brief-index', // router path
                                                    routeName: 'brief-index', // router name
                                                    routeComp: '/brief/brief-list', // 模板路径，在views 下面的路径,如果一级菜单就为null
                                                    iconPath: 'social-rss'
                                                }
                                            ]
                                        },
                                        {
                                            powerId: 1274325, // 后台生成的id,不填
                                            powerName: '公司制度文件', // 菜单左侧显示的名称
                                            routePath: '/companyFile', // router path
                                            routeName: 'companyFile', // router name
                                            routeComp: null, // 模板路径，在views 下面的路径,如果一级菜单就为null
                                            iconPath: 'social-rss',  //
                                            childPowerInfos: [
                                                {
                                                    childPowerInfos: [], // 下级菜单 <Icon type="social-rss"></Icon>
                                                    powerId: 1274552, // 后台生成的id,不填
                                                    powerName: '公司制度文件', // 菜单左侧显示的名称
                                                    routePath: '/companyFile-index', // router path
                                                    routeName: 'companyFile-index', // router name
                                                    routeComp: '/companyFile/companyFile-list', // 模板路径，在views 下面的路径,如果一级菜单就为null
                                                    iconPath: 'social-rss'
                                                }
                                            ]
                                        }

                                    ];
                                }

                                let tempMenu = [];
                                let _indexPage = {
                                    childPowerInfos: [
                                        {
                                            childPowerInfos: [], // 下级菜单
                                            powerId: 4501801090078542, // 后台生成的id,不填
                                            powerName: '首页', // 菜单左侧显示的名称
                                            routePath: '/home-index', // router path
                                            routeName: 'home-index', // router name
                                            routeComp: '/home/home', // 模板路径，在views 下面的路径,如果一级菜单就为null
                                            iconPath: 'ivu-icon-key'
                                        }
                                    ], // 下级菜单
                                    powerId: 4501801090000118, // 后台生成的id,不填
                                    powerName: '首页', // 菜单左侧显示的名称
                                    routePath: '/home', // router path
                                    routeName: 'home', // router name
                                    routeComp: null, // 模板路径，在views 下面的路径,如果一级菜单就为null
                                    iconPath: 'ios-home'
                                };
                                tempMenu = allMenuList;
                                tempMenu.splice(0,0,_indexPage);

                                let _router = meunUtils(tempMenu);
                                window.localStorage.setItem(
                                    'flc_plamenuInfo',
                                    JSON.stringify(tempMenu)
                                );
                                // 更新路由中的router
                                _this.$router.addRoutes(_router);
                                // 更新 store 中的菜单 和 router 对象
                                _this.$store.commit('updateMenulist');
                                _this.$store.commit('updateBtnsID');
                                // home 页面必须是固定页面，登录后制定跳转到 home

                                _this.$router.push({
                                    name: 'home-index'
                                });
                            }else{
                                this.$Modal.warning({
                                    title: '',
                                    content: res.msg,

                                });
                            }
                        },
                        error => {
                            codeManage.showTipOfStatuCode(error,_this);
                        }
                    )
//============================== 权限功能做的切最后在放开以下代码，以下代码是为了前端调试方便 固定菜单的
                });
            }
        },
        created() {
            // 重置表单验证样式
            // this.$refs[name].resetFields();
        }
    }
</script>

